/**
 * @author: Miss.杨
 * @date: 2024年12月29日 22:05:38
 * @description: 
 */
package com.sheepone.monitor.client;

import java.util.concurrent.TimeUnit;

import com.sheepone.monitor.client.handler.ClientExceptionHandler;
import com.sheepone.monitor.client.handler.connect.ClientHeartbeatHandler;
import com.sheepone.monitor.core.AbstractSheeponeChannelInitializer;
import com.sheepone.monitor.handler.MonitorIdleStateHandler;


/**
 * @author: Miss.杨
 * @date: 2024年12月29日 22:05:38
 * @description: 与服务端建立连接的SocketChannel的ChannelInitializer，用于客户端与服务端通信的数据处理
 */
public abstract class AbstractMonitorClientChannelInitializer extends AbstractSheeponeChannelInitializer {

    private final static ClientExceptionHandler CLIENT_EXCEPTION_HANDLER = new ClientExceptionHandler();

    public AbstractMonitorClientChannelInitializer() {
        // 心跳检测处理器
        addHandler(new ClientHeartbeatHandler());
        // 异常处理器
        addHandler(CLIENT_EXCEPTION_HANDLER);
        // 空闲事件触发器
        addHandler(new MonitorIdleStateHandler(0, 0, 5, TimeUnit.MINUTES));
    }

}
